For many applications, there is a need for a way to encode and decode auxiliary information in an audio signal. It is challenging to design encoders and decoders that embed such auxiliary information so that it is substantially imperceptible, yet recoverable and robust to various forms of manipulation.
The invention relates to methods, systems and devices for encoding and decoding auxiliary codes in audio signals. One aspect of the invention is a method of decoding an auxiliary code embedded in an audio signal. The method performs a statistical decoding of a multibit auxiliary code, which has been repetitively embedded in the audio signal. The method decodes code values of the auxiliary code from two or more different portions of the audio signal, each having the multibit auxiliary code. It then uses the code values decoded from two or more different portions to determine statistically the code values of the auxiliary code.
There are a number of ways to implement this method. In one implementation, bit values for code bits are decoded from portions of the audio signal, and values decoded for the same code bits from different portions are used to statistically derive a bit value for each of the code bits. The auxiliary code is recoverable from a portion of the audio signal, and the confidence with which the auxiliary code is accurately recovered increases with the number of different audio portions from which the auxiliary code is decoded.
In one form of decoding the auxiliary code, a statistical feature of the audio signal is analyzed to decode the code values of the auxiliary code. Examples of the statistical feature include the signal's entropy or power. The method determines the value of an auxiliary code bit based on the calculated statistical feature and correspondence between the calculated statistical feature and characteristics associated with possible code values, such as binary values of one or zero.
There are a variety of possible uses of the auxiliary code extracted from an audio signal. These include a code that enables or disables recording capabilities, a copyright identification code, a code used to monitor a broadcast of the audio signal, a code that triggers transmission of information about the audio signal from a decoding device to a service provider. The auxiliary code may also be used to generate a report indicating how the audio signal is being used.
Another aspect of the invention is another method of decoding an auxiliary code embedded in an audio signal. The method receives an audio signal suspected of being embedded with an auxiliary code. It evaluates a statistical feature of a portion of the audio signal to decode code values of the auxiliary code from the audio signal. It then determines a code value in the auxiliary code based on the statistical feature. The statistical feature may comprise, for example, the power of the audio signal. The statistical feature may be analyzed over different portions of the audio signal to decode two or more values of the auxiliary code.
In one implementation, for example, two or more code values are decoded from corresponding time domain portion of the audio signal, and the statistical feature for each code value is evaluated over the corresponding time domain portion. The auxiliary code signal may be repeated in different time domain portions of the audio signal. In such a case, the results of analyzing the statistical feature over the time domain portions in which the auxiliary code signal is repeated may be used to recover the auxiliary code.
This decoding method may be employed for many different applications, including those summarized above. Both methods may be implemented in hardware, software or a combination of hardware and software.
The foregoing and additional features and advantages will be more readily apparent from the following detailed description, which proceeds with reference to the accompanying drawings.